@@ -534,7 +534,6 @@ def statistic_member(request):  | 
            ||
| 534 | 534 | 
                else:  | 
            
| 535 | 535 | 
                userinfos = UserInfo.objects.filter(test_user=False, level__gte=1, status=True)  | 
            
| 536 | 536 | 
                 | 
            
| 537 | 
                -  | 
            |
| 538 | 537 | 
                #关注公众号数  | 
            
| 539 | 538 | 
                mp_num = userinfos.filter(subscribe=True).count()  | 
            
| 540 | 539 | 
                 | 
            
                @@ -585,7 +584,7 @@ def statistic_coupon(request):  | 
            ||
| 585 | 584 | 
                if start_time and end_time:  | 
            
| 586 | 585 | 
                used_coupons = UserCouponInfo.objects.filter(used_at__range=(start_time, end_time), status=True)  | 
            
| 587 | 586 | 
                else:  | 
            
| 588 | 
                - used_coupons = UserCouponInfo.objects.filter(status=True)  | 
            |
| 587 | 
                + used_coupons = UserCouponInfo.objects.filter(has_used=True, status=True)  | 
            |
| 589 | 588 | 
                 | 
            
| 590 | 589 | 
                     type_has_used_logs = list(used_coupons.values('coupon_title', 'coupon_value').annotate(num=Count('user_coupon_id')))
               | 
            
| 591 | 590 | 
                 | 
            
                @@ -684,6 +683,24 @@ def record_sale(request):  | 
            ||
| 684 | 683 | 
                'left': left  | 
            
| 685 | 684 | 
                })  | 
            
| 686 | 685 | 
                 | 
            
| 686 | 
                +def record_sale_batch(request):  | 
            |
| 687 | 
                +    brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            |
| 688 | 
                +    admin_id = request.POST.get('admin_id', '')
               | 
            |
| 689 | 
                +    logs = json.loads(request.POST.get('logs', '[]'))
               | 
            |
| 690 | 
                +  | 
            |
| 691 | 
                + infos = []  | 
            |
| 692 | 
                + unknows = []  | 
            |
| 693 | 
                +  | 
            |
| 694 | 
                + for log in logs:  | 
            |
| 695 | 
                + try:  | 
            |
| 696 | 
                + infos.append(SaleclerkSubmitLogInfo.objects.get(model_name__icontains=log['model_name'], code=log['code'], status=True))  | 
            |
| 697 | 
                + except:  | 
            |
| 698 | 
                + unknows.append(log)  | 
            |
| 699 | 
                +  | 
            |
| 700 | 
                +    return response(200, 'Batch Get Record Sale Success', u'批量获取销售员销售记录', data={
               | 
            |
| 701 | 
                + 'logs': infos,  | 
            |
| 702 | 
                + 'unknows': unknows  | 
            |
| 703 | 
                + })  | 
            |
| 687 | 704 | 
                 | 
            
| 688 | 705 | 
                def model_list(request):  | 
            
| 689 | 706 | 
                     brand_id = request.POST.get('brand_id', settings.KODO_DEFAULT_BRAND_ID)
               | 
            
                @@ -152,6 +152,7 @@ urlpatterns += [  | 
            ||
| 152 | 152 | 
                 | 
            
| 153 | 153 | 
                url(r'^admin/record/consumer$', admin_views.record_consumer, name='record_consumer'),  | 
            
| 154 | 154 | 
                url(r'^admin/record/sale$', admin_views.record_sale, name='record_sale'),  | 
            
| 155 | 
                + url(r'^admin/record/sale/batch$', admin_views.record_sale_batch, name='record_sale_batch'),  | 
            |
| 155 | 156 | 
                url(r'^admin/record/warehouse$', admin_views.record_warehouse, name='record_warehouse'),  | 
            
| 156 | 157 | 
                 | 
            
| 157 | 158 | 
                url(r'^admin/list/model$', admin_views.model_list, name='model_list'),  |